<?php
  // Make sure an ID was passed
    if(isset($_GET['id'])) {
        // Get the ID
        $id= intval($_GET['id']);
        // Make sure the ID is in fact a valid ID
    if($id <= 0) {
        die('The name is invalid!');
    }
    else {
        // Connect to the database
        $dbLink = new mysqli('localhost', 'root', "", 'db_name');
        if(mysqli_connect_errno()) {
            die("MySQL connection failed: ".mysqli_connect_error());
        }
         // Fetch the file information
        $query = "
            SELECT `file_name`, `type`, `size`, `data`
            FROM `pdfs`
            WHERE `id` = {$id}";
        $result = $dbLink->query($query);
        if($result) {
            // Make sure the result is valid
            if($result->num_rows == 1) {
            // Get the row
                $row = mysqli_fetch_assoc($result);
 
                header("Content-Type: ".$row['type']);
                header("Content-Length: ".$row['size']);
                header("Content-Disposition: attachment; filename=".$row['file_name']); 
                // disopsition = attachment to force download request
                // Print data
                echo $row['data'];
            }
            else {
                echo 'Error! No file exists with that ID.';
            }
            // Free the mysqli resources
            @mysqli_free_result($result);
        }
        else {
            // if there is an error excuting the query
            echo "Error! Query failed: <pre>{$dbLink->error}</pre>";
        }
        // close database connection
        @mysqli_close($dbLink);
    }
}
else {
    // if no ID passed
    echo 'Error! No ID was passed.';
}
?>